'''
1.位置传参
    将实参和形参一一对应进行传参
2.关键字传参
    函数调用时通过“键=值”形式进行传递参数
    不用考虑顺序，可以打乱顺序
    也可以和位置传参混用（但是必须位置参数在前且匹配参数顺序）
3.缺省传参(默认传参)
    定义函数时给参数默认值
    调用时可以不给默认参数传值
    注意:当函数调用时缺省参数传值则会修改默认值，否则使用默认值
    如果混用默认传参必须在最后边
4.不定长传参(可变参数)
    用于不确定调用的时候会传递多少个参数（不传参也可以）
    当调用函数时不缺定参数个数是，可以使用不定长参数
        不定长参数的类型:
            a.位置传递
                在参数前加*
                它会根据传进参数的位置合并成一个元组
            b.关键字传递
                在参数前加**
                他会根据“键=值”的形式组成字典
'''
def user_info (name, age, gender, aihao="打篮球"):
    print(f'您的名字{name},年龄是{age},性别是{gender},爱好是{aihao}')
# 关键字传参
user_info(name='小明',age=20,gender="男")
# 可以不按照固定顺序
user_info(age=20,gender="男",name="小明")
# 可以和位置参数混用，位置参数必须在前，且匹配参数顺序
user_info("小明",age=20,gender="男")
# 缺省传参
user_info('tom',20,'男')
user_info('tom',30,'男','唱')

def user_into(*args):
    print(args)
# 位置传递的不定长
user_into('tom')
user_into('tpm',20)
# 关键字传递的不定长
def a(**b):
    print(b)
a(名字="小张",年龄=13,爱好='篮球')
'''
函数作为参数传递
可以将一个函数作为参数在调用时传递给另一个函数
这是一种计算逻辑的传递，不是数据的传递
'''
def num(compute):
    c = compute(a, b)
    print(c)
def compute(a,b):
    return a+b
x,y = input().split(' ')
a = int(x)
b = int(y)
num(compute)